// components/auth/auth.js
Component({
  /**
   * 组件的初始数据
   */
  data: {
    isLogin: false,
  },

  lifetimes: {
    created() {},
    // attached 相当于 Vue 的 mounted
    attached() {
      // 获取全局 app 实例
      const app = getApp()
      // 判断用户是否登录，转换为布尔类型
      const isLogin = Boolean(app.token)
      // 基于 app 实例的 token 属性判断用户是否登录
      this.setData({
        isLogin,
      })
      // 如果没登录，跳转到登录页
      if (isLogin === false) {
        // 保留当前页面，跳转到应用内的某个页面。
        // 🔔 wx.navigateTo() 相当于 Vue 的 this.$router.push()
        // 🔔 wx.redirectTo() 相当于 Vue 的 this.$router.replace()

        // 获取当前页面栈数组
        const pages = getCurrentPages()
        // 获取当前页面实例
        const page = pages[pages.length - 1]

        // 重写页面的生命周期函数，未登录时，不执行 onLoad、onShow、onReady
        page.onLoad = () => {}
        page.onShow = () => {}
        page.onReady = () => {}

        wx.redirectTo({
          // 注意事项：redirectUrl= 后面的 / 不能省略
          url: '/pages/login/index?redirectUrl=/' + page.route,
        })
      }
    },
  },
})
